Read, Write, Talk, Sing, Play: What Early Literacy Can Teach Us About Software Literacy

Five Practices

Write

Write - Building On Other Skills

...writing code. Or using the software. Early literacy sees writing as building on the other skills discussed before - talking, singing, and reading (and playing, too), as it is the most complex of the skills of the group (except, perhaps, for play, which increases in complexity as the child does). We do not spring forth from the head of Zeus perfectly able to make glyphs on strange surfaces or machines using odd input methods, and especially not glyphs that are intelligible to everyone else who can read and write the same language.

The ones that are learning how to make marks on paper can still communicate, though. Children that haven't learned how to write can still speak words. Children that haven't learned how to speak words can still understand and use sign language. Even children too young to communicate with sign can still let people know they have issues or needs - a screaming child is not communicating the specifics of their issues, necessarily, but you still know that they're having trouble.

Write - Practicing Skills

Practicing writing is one of the skills that's a little hard for librarians to wrap their heads around when it comes to audiences that aren't physically able to make the motions that result in letters. Some audiences are just too young to be able to write legibly. For those audiences, there's often a lot of exercises in fine motor control - using paintbrushes, for example, to mimic motions that will be writing-like (such as tracing letters), or to let a child use crayons to make marks on paper, with the focus on controlling the action, so that even if all you get out of the paper is a series of vertical or horizontal marks, the marks are relatively uniform in length, breadth, and pressure applied to the surface. (Drawing the same line repeatedly is harder than it looks, as I found out when an art tutorial suggested it as a way of training the hand.)

For people using computers, learning to use peripherals, whether keyboard and mouse or touchscreen, is the foundation of being able to use software. Understanding the relationship between peripherals and computer actions well enough makes understanding the software easier. Much like how baby sign has made it easier to communicate with the non-verbal child, touchscreens and other direct interaction objects make it easier to use software.

Understanding the software in turn allows us to write programs of our own in computer languages. Using software and peripherals is learning to write letters - there are many ways to get to a particular function or program, and they're all correct, so long as the right end result appears. Computer programming is more akin to calligraphic writing, or writing in systems with stroke orders for characters - the process by which you form the letters is integral to producing the result you want.

Write - Teaching Examples

Unsurprisingly, there are a lot of different ways of teaching the making of very pretty writing. Similarly, there are a lot of different ways of approaching learning to write code. Whether you use block-based programs, such as Scratch or Blockly, which are more visual and can use human language to represent concepts, or console or code-based programs such as Ruby Warrior or Code Combat, which are about teaching the syntax and grammar of a language, the idea is to be able not only to write code that works, but to understand why the code being written works. Understanding the whys make it easier to transfer skills learned to new domains.